/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package beans;

import java.io.Serializable;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author Paulo de Tarso e Jefferson Ricardo
 */
public class Evento implements Serializable{

    /**
     * ID do evento.
     */
    private int id;
    /**
     * Dono do evento.
     */
    private Usuario dono;
    /**
     * Título do evento.
     */
    private String titulo;
    /**
     * Data do evento.
     */
    private Date data;
    /**
     * Local do evento.
     */
    private String local;
    /**
     * Lista de usuários participantes do evento.
     */
    private List<Usuario> participantesEvento = new LinkedList<Usuario>();

    /**
     * Construtor da classe Evento.
     * @param id ID do evento.
     * @param dono Dono do evento.
     * @param titulo Título do evento.
     * @param data Data do evento.
     * @param local Local do evento.
     */
    public Evento(int id, Usuario dono, String titulo, Date data, String local){
        this.id = id;
        this.dono = dono;
        this.titulo = titulo;
        this.data = data;
        this.local = local;
    }

    /**
     * @return O id do evento.
     */
    public int getId() {
        return id;
    }

    /**
     * @return O dono do evento.
     */
    public Usuario getDono() {
        return dono;
    }

    /**
     * @return O título do evento.
     */
    public String getTitulo() {
        return titulo;
    }

    /**
     * @return A data do evento.
     */
    public Date getData() {
        return data;
    }

    /**
     * @return O local do evento.
     */
    public String getLocal() {
        return local;
    }

    /**
     * @return A lista de participantes do evento.
     */
    public List<Usuario> getParticipantesEvento() {
        return participantesEvento;
    }

    /**
     * Método equals da classe Evento.
     */
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Evento other = (Evento) obj;
        if (this.id != other.id) {
            return false;
        }
        return true;
    }

    /**
     * Método hashCode da classe Evento.
     */
    @Override
    public int hashCode() {
        int hash = 5;
        hash = 23 * hash + this.id;
        return hash;
    }
    

}
